Flash data memory devices read and write data to the flash memory. The flash memory may be divided into different sections, such as into blocks. The controller within the flash memory may seek to level the wear amongst the different blocks in the flash memory in order to prolong the longevity of the flash memory. For example, one indicator of failure rate for the blocks may comprise the error rate when reading data from a respective block. More specifically, based on the error rate for a respective block, the controller may determine to copy data from the respective block into another block.